const express = require("express");
const router = express.Router();
const {client} = require("../middleWare/mysqlController.js");



// 获取全部房间列表数据
router.get("/client/getRoomsData", [client.pager, client.getRoomsListData], (req, res)=>{
    res.send({
        code:res.code,
        message:res.message,
        data:res.data,
    })
})

// 获取指定类型房间数据
router.get("/client/getRoomsSelectData", client.getRoomsSelectData, (req, res)=>{
    res.send({
        code:res.code,
        message:res.message,
        data:res.data
    });
})

// 注册新用户
router.post("/client/createUser", client.createUser, (req, res)=>{
    res.send({
        code:res.code,
        message:res.message,
        data:res.data
    });
})

// 用户登录
router.post("/client/loginUser", [client.loginUser,client.loginToken], (req, res)=>{
    res.send({
        code:res.code,
        message:res.message,
        data:res.data
    });
})

// 创建新订单
router.post("/client/createOrder",[client.getStoreRoomDataOfRoomId,client.createOrder], (req, res)=>{
    res.send({
        code:res.code,
        message:res.message,
        data:res.data
    });
})

// 根据TOKEN获取userId、name、phone、userPicture、userBalance
router.get("/client/getUserInfoOfToken", client.getUserInfoOfToken, (req, res)=>{
    res.send({
        code:res.code,
        message:res.message,
        data:res.data
    });
})  

// 根据用户token拿用户userId获取用户所有的订单信息。
router.get("/client/getUserOrders", client.getUserAllOrdersList, (req, res)=>{
    res.send({
        code:res.code,
        message:res.message,
        data:res.data
    });
})

// 修改订单信息（用户级）。
router.put("/client/updateOrderInfo", [client.updateOrderInfo,client.getUserAllOrdersList], (req, res)=>{
    // 流程：修改数据库数据后，触发getUserAllOrdersList刷新一下订单数据，将新的数据发给前端。
    res.send({
        code:res.code,
        message:res.message,
        data:res.data
    });
})

// 用户充值余额（用户级）。
router.put("/client/updateUserBalance", [client.getUserBalance, client.updateUserBalance, client.getNewUserBalance], (req, res)=>{
    // 流程：①在数据库中获取用户当前余额，②更新新余额到数据库中，③返回最新的用户余额
    res.send({
        code:res.code,
        message:res.message,
        data:res.data
    });
})

// 用户支付订单
router.put("/client/payOrder",[client.getOrderInfo, client.getUserBalance, client.payOrder, client.updateOrderState], (req, res)=>{
    // 流程：①获取订单数据（通过orderId）和校验订单信息userId是否一致，③获取用户育儿（通过userId），④进行支付处理。
    res.send({
        code:res.code,
        message:res.message,
        data:res.data
    });
})

// 取消订单/申请退款
router.put("/client/cancelOrder", [client.getOrderInfoByOrderId, client.cancelOrder, client.getUserBalance, client.refundOrderPrice], (req, res)=>{
    res.send({
        code:res.code,
        message:res.message,
        data:res.data
    });
})


module.exports=router;